// pages/password/password.js
import api from '../../api/api'
import {
  urlObj
} from '../../api/url'
import md5 from '../../utils/newmd5'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    phone: null,
    verifycode: null,
    password: null,
    verifyTitle: '获取验证码',
    countTime: 60,
    startCount: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },
  setphone(e) {
    let phone = e.detail.value;
    this.setData({
      phone: phone
    })
  },
  setverifycode(e) {
    this.setData({
      verifycode: e.detail.value
    })
  },
  setpassword(e) {
    let pwd = e.detail.value;
    this.setData({
      password: pwd
    })
  },
  getVerifycode(e) {
    if (this.data.phone) {
      if (!(/^1[34578]\d{9}$/.test(this.data.phone))) {
        wx.showToast({
          title: '手机号有误',
          icon: 'none',
          duration: 1000
        })
      } else {
        const params = {
          mobile: this.data.phone
        }
        api.get(urlObj.getVerifycode, params).then(res => {
          if (res.statusCode == '200') {
            wx.showToast({
              title: res.msg,//提示文字
              duration: 2000,//显示时长
              mask: true,//是否显示透明蒙层，防止触摸穿透，默认：false  
              icon: 'success', //图标，支持"success"、"loading"  
            })
            let timer = null;
            let targetTm = this.data.countTime
            console.log(this.data.countTime)
            // 倒计时
            timer = setInterval(() => {
              if (targetTm == 0) {
                console.log('222')
                clearInterval(timer)
                this.setData({
                  verifyTitle: '重新获取',
                  startCount: false
                })
              } else {
                console.log('11', targetTm)
                this.setData({
                  startCount: true,
                  countTime: targetTm--
                })
              }
            }, 1000)
          } else {
            wx.showToast({
              title: res.msg,//提示文字
              duration: 1000,//显示时长
              mask: true,//是否显示透明蒙层，防止触摸穿透，默认：false  
              icon: 'fail', //图标，支持"success"、"loading"  
            })
          }
        }).catch(err => {
          console.log(err)
        })
      }
    } else {
      wx.showToast({
        title: '请输入正确手机号',//提示文字
        duration: 1000,//显示时长
        mask: true,//是否显示透明蒙层，防止触摸穿透，默认：false  
        icon: 'none', //图标，支持"success"、"loading"  
      })
    }

  },
  submitForm() {
    if (!this.data.phone) {
      wx.showToast({
        title: '请输入手机号',//提示文字
        duration: 1000,//显示时长
        icon: 'none', //图标，支持"success"、"loading"  
      })
      return false
    }
    if (!(/^1[34578]\d{9}$/.test(this.data.phone))) {
      wx.showToast({
        title: '请输入正确手机号',
        icon: 'none',
        duration: 1000
      })
      return false
    }
    if (!this.data.verifycode) {
      wx.showToast({
        title: '请输入验证码',//提示文字
        duration: 1000,//显示时长
        mask: true,//是否显示透明蒙层，防止触摸穿透，默认：false  
        icon: 'none', //图标，支持"success"、"loading"  
      })
      return false
    }

    if (!this.data.password) {
      wx.showToast({
        title: '请输入密码',//提示文字
        duration: 1000,//显示时长
        mask: true,//是否显示透明蒙层，防止触摸穿透，默认：false  
        icon: 'none', //图标，支持"success"、"loading"  
      })
      return false
    }
    const reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,20}$/;
    if (!(reg.test(this.data.password))) {
      wx.showToast({
        title: '密码必须是大于8位的数字和字母组合',
        icon: 'none',
        duration: 2000
      })
      return false
    }
    const params = {
      mobile: this.data.phone,
      code: this.data.verifycode,
      pwd: md5(this.data.password)
    }
    wx.showLoading({
      title: '加载中',
    })
    api.get(urlObj.submitPassword, params).then(res => {
      wx.hideLoading()
      if (res.statusCode == '200') {
        wx.showToast({
          title: '密码修改成功',//提示文字
          duration: 2000,//显示时长
          mask: true,//是否显示透明蒙层，防止触摸穿透，默认：false  
          icon: 'fail', //图标，支持"success"、"loading"  
        })
        setTimeout(() => {
          wx.navigateTo({
            url: '../login/login'
          })
        }, 2000)
      } else {
        console.log('111')
        wx.showToast({
          title: res.msg,//提示文字
          duration: 2000,//显示时长
          mask: true,//是否显示透明蒙层，防止触摸穿透，默认：false  
          icon: 'none', //图标，支持"success"、"loading"  
        })
      }
    }).catch(err =>{
      console.log(err)
      wx.showToast({
        title: err.msg,//提示文字
        duration: 2000,//显示时长
        mask: true,//是否显示透明蒙层，防止触摸穿透，默认：false  
        icon: 'none', //图标，支持"success"、"loading"  
      })
    })
  }
})